libxl: fix Makefiles for autogenerated code (use multi-target patterns)
authorJan Beulich <jbeulich@novell.com>
Mon, 20 Sep 2010 15:57:08 +0000 (16:57 +0100)
committerJan Beulich <jbeulich@novell.com>
Mon, 20 Sep 2010 15:57:08 +0000 (16:57 +0100)
commit1e7aadfdffeee8f6f62c7f06a34966d62d2c297f
tree3ccf4895d1ccba659f17723f318e125ed6e511cd
parenta11b6c53f6f178978f67a906a54ed6952cd6f048
libxl: fix Makefiles for autogenerated code (use multi-target patterns)

Building in a tree with read-only source files failed because the flex/
bison generated files are left in place.

All of the source files (instead of all of the object files) were
depending on libxl.h (in particular forcing the needless re-generation
of the flex/bison generated files).

For _libxl_types.[ch] a single non-pattern rule was used. For non-
pattern rules with multiple targets, other than for pattern ones, the
body gets executed once for each target, causing problems when building
with -j<n>, <n> >= 2. Convert this rule to a pattern one.

The flex/bison generated headers pointlessly depended on the
corresponding source files. Use multiple-target pattern rules instead.

It would also have been nice if the minimal flex/bison versions needed
to successfully build libxl were documented: neither flex 2.5.31 nor
bison 2.1 (as found e.g. on SLE10) is sufficient.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxl/Makefile